﻿using System.Collections.Generic;
using System.Reflection;

namespace IInject.Resolution
{
	public interface IDependency
	{
		DependencyType DependencyType { get; }
	}

	public interface IDependency<TChild> : IDependency where TChild : IDependency
	{
		IList<TChild> Dependencies { get; }
	}

	public interface IDependency<TMember, TChild> : IDependency<TChild> where TMember : MemberInfo where TChild : IDependency
	{
		TMember Dependent { get; set; }
	}
}
